package com.tjcd.project.library_base.common.upload.net;


import com.tjcd.project.library_base.common.upload.net.interf.IBaseCancel;

/**
 * @Author junweiliu
 * @Description 基础Model
 * @Version 1.0
 * @CreateDate 2019/12/24
 * @QQ 1007271386
 */
public abstract class BaseModel {
    /**
     * 适用于单个网络请求model
     */
    protected BeanNetUnit mOnlyNetUnit;

    /**
     * 取消代理层发起的业务，不提供实现，必须被实现
     */
    public abstract void cancelBiz();

    /**
     * 批量取消业务中的网络请求
     *
     * @param bizs 业务bean集合
     */
    public void cancelRequest(IBaseCancel... bizs) {
        if (bizs != null && bizs.length > 0) {
            for (IBaseCancel biz : bizs) {
                if (biz != null) {
                    biz.cancelRequest();
                }
            }
        }
    }

    /**
     * 取消单个请求
     */
    public void cancelOnlyRequest() {
        cancelRequest(mOnlyNetUnit);
    }
}
